﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using NHAHANGLIENHOACHAY.SR_NHAHANG_BUS;
namespace NHAHANGLIENHOACHAY
{
    public partial class FormMain : DevComponents.DotNetBar.Office2007Form
    {
        private int trangthai = 0;//Ban đóng chưa mở
        private List<DataTable> list1 = new List<DataTable>();
        private List<DataTable> list2 = new List<DataTable>();
        string tennd;
        List<BAN> listban = new List<BAN>();
        Service1SoapClient bus = new Service1SoapClient();
        public FormMain(NGUOIDUNG dto)
        {
            tennd = dto.HoVaTen;
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.tabControl1.SelectedTabIndex = 0;
            //Load danh sách khu vực
            lblTenDangNhap.Text = tennd;
            KHUVUC[] arraykv;
            HINHTHUCKD dtohtkd;
            try
            {
                arraykv = bus.LayDSKhuVuc();
               
                listV_KhuVuc.Items.Clear();
                for (int i = 0; i < arraykv.Length; i++)
                {
                    ListViewItem item = new ListViewItem();
                    item.Text = arraykv[i].TenKhuVuc.ToString();
                    item.Name = arraykv[i].MaKhuVuc.ToString();
                    item.ImageIndex = 0;
                    listV_KhuVuc.Items.Add(item);
                }
                //Form quản lý khu vực bàn
                dgvKhuVucQL.Rows.Clear();
                int sttkv=0;
                int makv;
                for (int ikv = 0; ikv < arraykv.Length; ikv++)
                {
                    makv = arraykv[ikv].MaKhuVuc;
                    dtohtkd = bus.LayHinhThucKinhDanhTheoKV(makv);
                    sttkv++;
                    dgvKhuVucQL.Rows.Add(sttkv.ToString(), arraykv[ikv].MaKhuVuc, arraykv[ikv].TenKhuVuc,dtohtkd.TenHinhThucKD, arraykv[ikv].MucGiaChenhLech);
                }
                //Load danh sách bàn
                BAN[] arrayb2;
                int sttb=0;
                arrayb2 = bus.LayDSBan();
                dgvBan.Rows.Clear();
                for (int ib = 0; ib < arrayb2.Length; ib++)
                {
                    KHUVUC dtokv;
                    dtokv = bus.LayKhuVucTheoMaBan(arrayb2[ib].MaBan);
                    sttb++;
                    dgvBan.Rows.Add(sttb.ToString(), arrayb2[ib].TenBan, arrayb2[ib].TrangThai, dtokv.TenKhuVuc,arrayb2[ib].MaBan);
 
                }               
                //Load danh sách bàn trong nhà hàng 
                BAN[] arrayb;
                arrayb = bus.LayDSBan();
                listV_Ban.Items.Clear();
                for (int k = 0; k < arrayb.Length; k++)
                {
                    ListViewItem item = new ListViewItem();
                    BAN b = new BAN();
                    item.Text = arrayb[k].TenBan.ToString();
                    item.Name = arrayb[k].MaBan.ToString();
                    item.ImageIndex = 1;
                    item.Tag = "0";//Trang thai dong
                    listV_Ban.Items.Add(item);
                    //Dua vao list ban
                    b.MaBan = Int16.Parse(arrayb[k].MaBan.ToString());
                    b.TenBan = arrayb[k].TenBan.ToString();
                    b.TrangThai = 0;//Là đóng 
                    listban.Add(b);

                }
                //Load danh sách các loại món ăn
                LOAIMONAN[] arraylma;
                arraylma = bus.LayDSLoaiMonAn();

                listV_LoaiMonAn.Items.Clear();
                for (int j = 0; j < arraylma.Length; j++)
                {
                    ListViewItem item = new ListViewItem();
                    item.Text = arraylma[j].TenLoaiMonAn.ToString();
                    item.Name = arraylma[j].MaLoaiMonAn.ToString();
                    item.ImageIndex = 2;
                    listV_LoaiMonAn.Items.Add(item);
                }
                cbbLoaiMonAn.DataSource = arraylma;
                cbbLoaiMonAn.DisplayMember = "TenLoaiMonAn";
                cbbLoaiMonAn.ValueMember = "MaLoaiMonAn";
                //--Form Quản lý món ăn---
                //Load danh sách loại món ăn
                dgvLoaiMonAn.Rows.Clear();
                int stt = 0;
                for (int il = 0; il < arraylma.Length; il++)
                {
                    stt++;
                    dgvLoaiMonAn.Rows.Add(stt.ToString(),arraylma[il].TenLoaiMonAn,arraylma[il].MaLoaiMonAn);
                }
                MONAN[] arrayma;
                LOAIMONAN dtolma;
                arrayma = bus.LayDSMonAn();                
                //Load danh sách các món ăn               
                dgvMonAn.Rows.Clear();
                for (int ma = 0; ma < arrayma.Length; ma++)
                {
                    dtolma = bus.LayLoaiMonAnTheoMaMonAn(Int16.Parse(arrayma[ma].MaMonAn.ToString()));
                    dgvMonAn.Rows.Add(arrayma[ma].TenMonAn,dtolma.TenLoaiMonAn,arrayma[ma].DonVi,arrayma[ma].GiaTien,arrayma[ma].MaMonAn);                  

                }
                //Load danh sách các  món ăn             
                listV_MonAn.Items.Clear();
                for (int m = 0; m < arrayma.Length; m++)
                {
                    ListViewItem item = new ListViewItem();
                    item.Text = arrayma[m].TenMonAn.ToString();
                    item.Name = arrayma[m].MaMonAn.ToString();
                    item.ImageIndex = 3;
                    listV_MonAn.Items.Add(item);
                }
                cbbMonAn.DataSource = arrayma;
                cbbMonAn.DisplayMember = "TenMonAn";
                cbbMonAn.ValueMember = "MaMonAn";
                //-----------------------//////
                HINHTHUCKD[] arrayhtkd;
                arrayhtkd = bus.LayDSHinhThucKinhDanh();
                cbbHinhThucKinhDanh.DataSource = arrayhtkd;
                cbbHinhThucKinhDanh.DisplayMember = "TenHinhThucKD";
                cbbHinhThucKinhDanh.ValueMember = "MaHinhThucKD";
                ///-----------------------////
                cbbKhuVuc.DataSource = bus.LayDSKhuVuc();
                cbbKhuVuc.DisplayMember = "TenKhuVuc";
                cbbKhuVuc.ValueMember = "MaKhuVuc";
                //----Set trạng thái bang=0
                txtTrangThai.Text = "0";
                //Form Thống Kê Báo Cáo
                //Load danh sách các món ăn
                //  datetimeNgay.Enabled = false;
                dateTimeTu.Enabled = true;
                dateTimeDen.Enabled = true;
                //datetimeNgay.Value = DateTime.Now;
                dateTimeDen.Value = DateTime.Now;
                dateTimeTu.Value = DateTime.Now;          
                //Doanh thu theo alll 
                TinhDoanhThu();
                //Form doanh thu theo khu vuc
                dateTimeDenKV.Value = DateTime.Now;
                dateTimeTuKV.Value = DateTime.Now;
                TinhDoanhThuTheoKhuVuc();
                //Form doanh thu theo ban
                dateTimeTuBan.Value = DateTime.Now;
                dateTimeDenBan.Value = DateTime.Now;
                TinhDoanhThuTheoBan();
                //Form doanh thu theo hóa đơn
                dateTimeDenT.Value = DateTime.Now;
                dateTimeTuT.Value = DateTime.Now;
                TinhDoanhTheoTheoHoaDon();
               
            }
            catch
            {

            }

        }
        public int TongDoanhThu()
        {
            int result=0;
            HOADON[]arrayhd;
            arrayhd=bus.LayDSHoaDon();
            for (int i = 0; i < arrayhd.Length; i++)
            {
                result = result + arrayhd[i].ThanhTien.Value;
            }
            return result;
        }
        public int TongDoanhThuTheoNgay(DateTime a,DateTime b)
        {
            int result = 0;
            HOADON[] arrayhd;
            arrayhd = bus.LayDSHoaDon();
            for (int i = 0; i < arrayhd.Length; i++)
            {
                //if (arrayhd[i].ThoiGian.ToShortDateString() == a.ToShortDateString())//So sánh hai ngày bằng nhau
                if (arrayhd[i].ThoiGian>=a&&arrayhd[i].ThoiGian<=b)//So sánh hai ngày bằng nhau
                {
                    result = result + arrayhd[i].ThanhTien.Value;
                }
                
            }
            return result;
        }
        public void TinhDoanhTheoTheoHoaDon()
        {
            HOADON[] arrayhd;
            int doanhthu =0;
            int stttk = 0;
            int tongDoanhThu = TongDoanhThu();
            arrayhd = bus.LayDSHoaDon();
            dgvDTT.Rows.Clear();
            for (int ihd = 0; ihd < arrayhd.Length; ihd++)
            {
               
                int tile = 0;
                stttk++;
                doanhthu = doanhthu +Int32.Parse( arrayhd[ihd].ThanhTien.ToString());
               // int id =Int16.Parse( arrayhd[ihd].ThanhTien.ToString());
               // doanhthu = doanhthu + arrayhd[ihd].ThanhTien;
               // doanhthu = doanhthu + id;
                //Tính tỉ lệ % 
                if (doanhthu != 0)
                {
                    tile = (int)(100.0 * doanhthu / tongDoanhThu);
                }
                else
                {

                }

                dgvDTT.Rows.Add(stttk.ToString(), arrayhd[ihd].ThoiGian,  doanhthu.ToString(), tile.ToString() + "%");
            }
        }
        public void TinhDoanhThuTheoHoaDonNgay(DateTime a, DateTime b)
        {
            HOADON[] arrayhd;
            int doanhthu = 0;
            int stttk = 0;
            int tongDoanhThu = TongDoanhThu();
            arrayhd = bus.LayDSHoaDon();
            dgvDTT.Rows.Clear();
            for (int ihd = 0; ihd < arrayhd.Length; ihd++)
            {
                int tile = 0;
                if (arrayhd[ihd].ThoiGian >= a && arrayhd[ihd].ThoiGian <= b)
                {
                    
                    stttk++;
                    doanhthu = doanhthu + Int32.Parse(arrayhd[ihd].ThanhTien.ToString());
                    if (doanhthu != 0)
                    {
                        tile = (int)(100.0 * doanhthu / tongDoanhThu);
                    }
                    else
                    {

                    }
                }

                dgvDTT.Rows.Add(stttk.ToString(), arrayhd[ihd].ThoiGian, doanhthu.ToString(), tile.ToString() + "%");
            }
        }
        public void TinhDoanhThu()
        {

            CTHOADON[] arraycthd;
            MONAN[] arraymatk;
            int stttk = 0;
            int tongDoanhThu = TongDoanhThu();
            arraycthd = bus.LayDSChiTietHoaDon();
            arraymatk = bus.LayDSMonAn();
            dgvDTTM.Rows.Clear();
            for (int itk = 0; itk < arraymatk.Length; itk++)
            {
                int doanhthu = 0;
                int tile = 0;
                stttk++;
                //dgvDTTM.Rows.Add(stttk.ToString(), arraymatk[itk].MaMonAn, arraymatk[itk].TenMonAn);
                for (int ict = 0; ict < arraycthd.Length; ict++)
                {
                    if (arraymatk[itk].MaMonAn == arraycthd[ict].MaMonAn)
                    {
                        //Tính doanh thu
                        doanhthu = doanhthu + arraycthd[ict].GiaTien;
                        //Tính tỉ lệ % 
                        if (doanhthu != 0)
                        {
                            tile = (int)(100.0 * doanhthu / tongDoanhThu);
                        }
                        else
                        {

                        }

                    }
                }
                dgvDTTM.Rows.Add(stttk.ToString(), arraymatk[itk].MaMonAn, arraymatk[itk].TenMonAn, doanhthu.ToString(), tile.ToString() + "%");
            }
        }
        public void TinhDoanhThuTheoKhuVuc()
        {

            CTHOADON[] arraycthd;
            BAN[] arrayban;
            KHUVUC[] arraykhuvuc;
            int stttk = 0;
            int tongDoanhThu = TongDoanhThu();
           // arraycthd = bus.LayDSChiTietHoaDon();
           // arrayban = bus.LayDSBan();
            arraykhuvuc = bus.LayDSKhuVuc();
            dgvDTTKV.Rows.Clear();
            for (int ikv = 0; ikv < arraykhuvuc.Length; ikv++)
            {
                int doanhthu = 0;
                int makhuvuc = arraykhuvuc[ikv].MaKhuVuc;
                int tile = 0;
                stttk++;
                arrayban = bus.LayDSBanTheoKhuVuc(makhuvuc);
                //dgvDTTM.Rows.Add(stttk.ToString(), arraymatk[itk].MaMonAn, arraymatk[itk].TenMonAn);
                for (int ib = 0; ib < arrayban.Length; ib++)
                {
                    //Lay ds ban theo trong chi tiet hoa don tinh tonh doanh thu
                    int maban = arrayban[ib].MaBan;
                   // arraycthd = bus.LayDSChiTietHoDonTheoMaBan(maban);
                    arraycthd = bus.LayDSChiTietHoaDon();
                    for (int ict = 0; ict < arraycthd.Length; ict++)
                    {
                        if (arraycthd[ict].MaBan == arrayban[ib].MaBan)
                        {
                            doanhthu = doanhthu + arraycthd[ict].GiaTien;
                            if (doanhthu != 0)
                            {
                                tile = (int)(100.0 * doanhthu / tongDoanhThu);
                            }
                            else
                            {

                            }
                        }
                    }
                    
                }
                dgvDTTKV.Rows.Add(stttk.ToString(), arraykhuvuc[ikv].TenKhuVuc,doanhthu.ToString(), tile.ToString() + "%");
            }
        }
        public void TinhDoanhThuTheoBan()
        {
            CTHOADON[] arraycthd;
            BAN[] arrayban;
            //KHUVUC[] arraykhuvuc;
            int stttk = 0;
            int tongDoanhThu = TongDoanhThu();
            // arraycthd = bus.LayDSChiTietHoaDon();
             arrayban = bus.LayDSBan();
            //arraykhuvuc = bus.LayDSKhuVuc();
            dgvDTTB.Rows.Clear();
            //for (int ikv = 0; ikv < arraykhuvuc.Length; ikv++)
            //{
                int doanhthu = 0;
                //int makhuvuc = arraykhuvuc[ikv].MaKhuVuc;
                int tile = 0;
                stttk++;
               // arrayban = bus.LayDSBanTheoKhuVuc(makhuvuc);
                //dgvDTTM.Rows.Add(stttk.ToString(), arraymatk[itk].MaMonAn, arraymatk[itk].TenMonAn);
                for (int ib = 0; ib < arrayban.Length; ib++)
                {
                    //Lay ds ban theo trong chi tiet hoa don tinh tonh doanh thu
                   // int maban = arrayban[ib].MaBan;
                    // arraycthd = bus.LayDSChiTietHoDonTheoMaBan(maban);
                    arraycthd = bus.LayDSChiTietHoaDon();
                    for (int ict = 0; ict < arraycthd.Length; ict++)
                    {
                        if (arraycthd[ict].MaBan == arrayban[ib].MaBan)
                        {
                            doanhthu = doanhthu + arraycthd[ict].GiaTien;
                            if (doanhthu != 0)
                            {
                                tile = (int)(100.0 * doanhthu / tongDoanhThu);
                            }
                            else
                            {

                            }
                        }
                    }
                    dgvDTTB.Rows.Add(stttk.ToString(), arrayban[ib].TenBan, doanhthu.ToString(), tile.ToString() + "%");

                }
                //dgvDTTKV.Rows.Add(stttk.ToString(), arraykhuvuc[ikv].TenKhuVuc, doanhthu.ToString(), tile.ToString() + "%");
           // }
        }
        public void TinhDoanhThuTheoBanNgay(DateTime a, DateTime b)
        {
            CTHOADON[] arraycthd;
            HOADON[] arrayhd;
            BAN[] arrayban;
            //KHUVUC[] arraykhuvuc;
            int stttk = 0;
            int tongDoanhThu = TongDoanhThu();
            // arraycthd = bus.LayDSChiTietHoaDon();
            arrayban = bus.LayDSBan();
            arrayhd = bus.LayDSHoaDon();
            //arraykhuvuc = bus.LayDSKhuVuc();
            dgvDTTB.Rows.Clear();
            //for (int ikv = 0; ikv < arraykhuvuc.Length; ikv++)
            //{
            int doanhthu = 0;
            //int makhuvuc = arraykhuvuc[ikv].MaKhuVuc;
            int tile = 0;
            stttk++;
            // arrayban = bus.LayDSBanTheoKhuVuc(makhuvuc);
            //dgvDTTM.Rows.Add(stttk.ToString(), arraymatk[itk].MaMonAn, arraymatk[itk].TenMonAn);
            for (int ib = 0; ib < arrayban.Length; ib++)
            {
                //Lay ds ban theo trong chi tiet hoa don tinh tonh doanh thu
                // int maban = arrayban[ib].MaBan;
                // arraycthd = bus.LayDSChiTietHoDonTheoMaBan(maban);
                arraycthd = bus.LayDSChiTietHoaDon();
                for (int ict = 0; ict < arraycthd.Length; ict++)
                {
                    if (arraycthd[ict].MaBan == arrayban[ib].MaBan)
                    {
                        for (int ihd = 0; ihd < arrayhd.Length; ihd++)
                        {
                            if (arraycthd[ict].MaHoaDon == arrayhd[ihd].MaHoaDon && arrayhd[ihd].ThoiGian >= a && arrayhd[ihd].ThoiGian <= b)
                            {
                                doanhthu = doanhthu + arraycthd[ict].GiaTien;
                                if (doanhthu != 0)
                                {
                                    tile = (int)(100.0 * doanhthu / tongDoanhThu);
                                }
                                else
                                {

                                }
                            }
                        }
                    }
                }
                dgvDTTB.Rows.Add(stttk.ToString(), arrayban[ib].TenBan, doanhthu.ToString(), tile.ToString() + "%");

            }
            //dgvDTTKV.Rows.Add(stttk.ToString(), arraykhuvuc[ikv].TenKhuVuc, doanhthu.ToString(), tile.ToString() + "%");
            // }
        }
        public void TinhDoanhThuTheoNgay(DateTime a,DateTime b)
        {

            CTHOADON[] arraycthd;
            HOADON[] arrayhd;
            MONAN[] arraymatk;
            int stttk = 0;
            int tongDoanhThu = TongDoanhThuTheoNgay(a,b);
            arraycthd = bus.LayDSChiTietHoaDon();
            arraymatk = bus.LayDSMonAn();
            arrayhd=bus.LayDSHoaDon();
            dgvDTTM.Rows.Clear();
            for (int itk = 0; itk < arraymatk.Length; itk++)
            {
                int doanhthu = 0;
                int tile = 0;
                stttk++;

                for (int ihd = 0; ihd < arrayhd.Length; ihd++)
                {
                   
                    //dgvDTTM.Rows.Add(stttk.ToString(), arraymatk[itk].MaMonAn, arraymatk[itk].TenMonAn);
                    for (int ict = 0; ict < arraycthd.Length; ict++)
                    {
                    
                            if (arrayhd[ihd].MaHoaDon == arraycthd[ict].MaHoaDon)
                            {
                                if (arraymatk[itk].MaMonAn == arraycthd[ict].MaMonAn && arrayhd[ihd].ThoiGian >= a && arrayhd[ihd].ThoiGian<=b)
                                {
                                    //Tính doanh thu
                                    doanhthu = doanhthu + arraycthd[ict].GiaTien;
                                    //Tính tỉ lệ % 
                                    if (doanhthu != 0)
                                    {
                                        tile = (int)(100.0 * doanhthu / tongDoanhThu);
                                    }
                                    else
                                    {

                                    }
                                }

                            }
                        }
                    }
                    dgvDTTM.Rows.Add(stttk.ToString(), arraymatk[itk].MaMonAn, arraymatk[itk].TenMonAn, doanhthu.ToString(), tile.ToString() + "%");
               }            
            
        }
        public void TinhDoanhThuTheoKhuVucNgay(DateTime a, DateTime b)
        {
            CTHOADON[] arraycthd;
            HOADON[] arrayhd;
            BAN[] arrayban;
            KHUVUC[] arraykhuvuc;
            int stttk = 0;
            int tongDoanhThu = TongDoanhThu();
            // arraycthd = bus.LayDSChiTietHoaDon();
            // arrayban = bus.LayDSBan();
            arraykhuvuc = bus.LayDSKhuVuc();
            arrayhd = bus.LayDSHoaDon();
            dgvDTTKV.Rows.Clear();
            for (int ikv = 0; ikv < arraykhuvuc.Length; ikv++)
            {
                int doanhthu = 0;
                int makhuvuc = arraykhuvuc[ikv].MaKhuVuc;
                int tile = 0;
                stttk++;
                arrayban = bus.LayDSBanTheoKhuVuc(makhuvuc);
                //dgvDTTM.Rows.Add(stttk.ToString(), arraymatk[itk].MaMonAn, arraymatk[itk].TenMonAn);
                for (int ib = 0; ib < arrayban.Length; ib++)
                {
                    //Lay ds ban theo trong chi tiet hoa don tinh tonh doanh thu
                    int maban = arrayban[ib].MaBan;
                    // arraycthd = bus.LayDSChiTietHoDonTheoMaBan(maban);
                    arraycthd = bus.LayDSChiTietHoaDon();
                    for (int ict = 0; ict < arraycthd.Length; ict++)
                    {
                        
                            if (arraycthd[ict].MaBan == arrayban[ib].MaBan)
                            {
                                for (int ihd = 0; ihd < arrayhd.Length; ihd++)
                                {
                                    if (arraycthd[ict].MaHoaDon == arrayhd[ihd].MaHoaDon && arrayhd[ihd].ThoiGian >= a && arrayhd[ihd].ThoiGian <= b)
                                    {
                                        doanhthu = doanhthu + arraycthd[ict].GiaTien;
                                        if (doanhthu != 0)
                                        {
                                            tile = (int)(100.0 * doanhthu / tongDoanhThu);
                                        }
                                        else
                                        {

                                        }
                                    }
                                }
                            }
                        
                    }

                }
                dgvDTTKV.Rows.Add(stttk.ToString(), arraykhuvuc[ikv].TenKhuVuc, doanhthu.ToString(), tile.ToString() + "%");
            }
        }
        public void Load_KhuVuc()
        {
            KHUVUC[] arraykv;
            HINHTHUCKD dtohtkd;
            arraykv = bus.LayDSKhuVuc();
            dgvKhuVucQL.Rows.Clear();
            int sttkv = 0;
            int makv;
            for (int ikv = 0; ikv < arraykv.Length; ikv++)
            {
                makv = arraykv[ikv].MaKhuVuc;
                dtohtkd = bus.LayHinhThucKinhDanhTheoKV(makv);
                sttkv++;
                dgvKhuVucQL.Rows.Add(sttkv.ToString(), arraykv[ikv].MaKhuVuc, arraykv[ikv].TenKhuVuc, dtohtkd.TenHinhThucKD,arraykv[ikv].MucGiaChenhLech);
            }
        }
        private void listV_KhuVuc_SelectedIndexChanged(object sender, EventArgs e)
        {
            BAN[] arrayb;
            for (int i = 0; i < listV_KhuVuc.Items.Count; i++)
            {
                if (listV_KhuVuc.Items[i].Selected)
                {
                    //MessageBox.Show(listV_KhuVuc.Items[i].Name);
                    int makv = int.Parse(listV_KhuVuc.Items[i].Name.ToString());
                    arrayb = bus.LayDSBanTheoKhuVuc(makv);
                    //đưa vào listview ban
                    listV_Ban.Items.Clear();
                    for (int j = 0; j < arrayb.Length; j++)
                    {
                        //So sanh cai ma ban trong cái mảng này với cái trong list nếu trùng thì lấy trong list ra
                        for (int k = 0; k < listban.Count; k++)
                        {
                            if (arrayb[j].MaBan == listban[k].MaBan)
                            {

                                try
                                {
                                    ListViewItem item = new ListViewItem();
                                    item.Text = listban[k].TenBan.ToString();
                                    item.Name = listban[k].MaBan.ToString();                                   
                                    if (listban[k].TrangThai == 0)
                                    {
                                        item.ImageIndex = 1;
                                    }
                                    if (listban[k].TrangThai == 1)
                                    {
                                        item.ImageIndex = 4;
                                    }                                   
                                    listV_Ban.Items.Add(item);
                                }
                                catch
                                {

                                }
                            }

                        }

                    }


                }
            }
        }

        private void listV_LoaiMonAn_SelectedIndexChanged(object sender, EventArgs e)
        {
            MONAN[] arrayma;
            for (int i = 0; i < listV_LoaiMonAn.Items.Count; i++)
            {
                if (listV_LoaiMonAn.Items[i].Selected)
                {                    
                    int maloai = int.Parse(listV_LoaiMonAn.Items[i].Name.ToString());
                    arrayma = bus.LayDSMonAnTheoMaLoai(maloai);
                    //đưa vào listview ban
                    listV_MonAn.Items.Clear();
                    for (int j = 0; j < arrayma.Length; j++)
                    {
                        try
                        {
                            ListViewItem item = new ListViewItem();
                            item.Text = arrayma[j].TenMonAn.ToString();
                            item.Name = arrayma[j].MaMonAn.ToString();
                            item.ImageIndex = 3;
                            listV_MonAn.Items.Add(item);
                        }
                        catch
                        {

                        }
                    }


                }
            }
        }

        private void bttBatDau_Click(object sender, EventArgs e)
        {
            //Load danh sach cac loai phieu
            //Set trang thai cho ban la đã mở =1
        
            ////////////////////
            //Kiêm tra trạng thái bàn .nếu đã mở rồi thì không bắt đầu nữa
            for (int i = 0; i < listV_Ban.Items.Count; i++)
            {
                if (listV_Ban.Items[i].Selected)
                {
                    int maban = Int16.Parse(listV_Ban.Items[i].Name.ToString());
                    string chuoimaban = listV_Ban.Items[i].Name.ToString();
                    for (int j = 0; j < listban.Count; j++)
                    {
                        if (listban[j].MaBan == maban)
                        {
                            if (listban[j].TrangThai == 1)
                            {
                                MessageBox.Show("Bàn này thể bắt đầu ,đang ở trạng thái mở");                              

                            }
                            else
                            {
                                
                                trangthai = 1;
                                bttBatDau.Enabled = false;
                                //Xoa cac thu ton tai bang rỗng
                                dgv_DSMA.Rows.Clear();
                                txtBan.Text = null;
                                date_Ngay.Value = DateTime.MinValue;
                                txtGiamGia.Text = null;
                                txtMucGiaChenhLech.Text = null;
                                txtTongTien.Text = null;
                                txtGhiChu.Text = null;
                                cbbLoaiPhieu.DataSource = null;
                                ///////////////////
                                for (int i1 = 0; i1 < listV_Ban.Items.Count; i1++)
                                {
                                    if (listV_Ban.Items[i1].Selected)
                                    {
                                        lblMaBan.Text = listV_Ban.Items[i1].Name;
                                        txtBan.Text = listV_Ban.Items[i1].Text;
                                        date_Ngay.Value = DateTime.Now;
                                        cbbLoaiPhieu.DataSource = bus.LayDSLoaiPhieu();
                                        cbbLoaiPhieu.DisplayMember = "TenLoaiPhieuDat";
                                        cbbLoaiPhieu.ValueMember = "MaLoaiPhieuDat";
                                        txtGiamGia.Text = " 0";
                                        txtMucGiaChenhLech.Text = "0";

                                    }
                                }
                            }

                        }
                    }
                }
            }          
        }

        private void bttHuy_Click(object sender, EventArgs e)
        {
            //Set trang thái là chưa có bàn nào mở
            //Kiem tra ban đang ở trạng thái nào ? nếu là đang mỏ thì ko cho hủy ,còn nếu đang trống thì hủy dc
            for (int i = 0; i < listV_Ban.Items.Count; i++)
            {
                if (listV_Ban.Items[i].Selected)
                {
                    int maban = Int16.Parse(listV_Ban.Items[i].Name.ToString());
                    for (int j = 0; j < listban.Count; j++)
                    {
                        if (listban[j].MaBan == maban)
                        {
                            if (listban[j].TrangThai == 1)
                            {
                                MessageBox.Show("Bàn này không thể hủy");
                            }
                            else
                            {
                                bttBatDau.Enabled = true;
                                txtBan.Text = null;
                                date_Ngay.Value = DateTime.MinValue;
                                txtGiamGia.Text = null;
                                cbbLoaiPhieu.DataSource = null;
                            }

                        }
                    }
                }
            }

        }

        private void listV_MonAn_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {

                for (int i = 0; i < listV_MonAn.Items.Count; i++)
                {
                    if (listV_MonAn.Items[i].Selected)
                    {
                        MONAN dto = new MONAN();
                        FormNhapSL fr = new FormNhapSL();
                        fr.ShowDialog();
                        if (fr.sl != 0)
                        {                           
                            //Doc du lieu tu cai ma mon an
                            int mama = Int16.Parse(listV_MonAn.Items[i].Name.ToString());
                            dto = bus.LayDSMonAnTheoMa(mama);
                            //Dua du lieu vao lưới
                            int thanhtien = fr.sl * Int16.Parse(dto.GiaTien.ToString());
                            dgv_DSMA.Rows.Add(dto.TenMonAn, fr.sl.ToString(), dto.GiaTien, thanhtien.ToString(), mama.ToString(), dto.DonVi);
                        }

                        else
                        {

                        }
                        int tongtien = 0;
                        for (int j = 0; j < dgv_DSMA.Rows.Count; j++)
                        {
                            tongtien = tongtien + Int32.Parse(dgv_DSMA.Rows[j].Cells["colThanhTien"].Value.ToString());
                        }

                        txtTongTien.Text = tongtien.ToString();


                    }
                }
            }
            catch
            {

            }
           
        }

        private void bttLuu_Click(object sender, EventArgs e)
        {
            DataTable dt1 = new DataTable();
            DataTable dt2 = new DataTable();
            try
            {
                //Khoi tạo dt1
                dt1.Columns.Add("MaBan", typeof(string));
                dt1.Columns.Add("TenBan", typeof(string));
                dt1.Columns.Add("MucGiaChenhLech", typeof(string));
                dt1.Columns.Add("GhiChu", typeof(string));
                dt1.Columns.Add("GioVao", typeof(DateTime));
                dt1.Columns.Add("GiamGia", typeof(string));
                dt1.Columns.Add("TongTien", typeof(string));
                //Khoi tao cai dt2
                dt2.Columns.Add("MaBan", typeof(string));
                dt2.Columns.Add("TenMon", typeof(string));
                dt2.Columns.Add("SL", typeof(string));
                dt2.Columns.Add("GiaBan", typeof(string));
                dt2.Columns.Add("ThanhTien", typeof(string));
                dt2.Columns.Add("MaMon", typeof(string));
                dt2.Columns.Add("DonVi", typeof(string));
                //Kiem tra luoi rong thi khong luu
                if (dgv_DSMA.Rows.Count == 0)
                {
                    MessageBox.Show("Vui lòng chọn món trươc khi lưu");
                }
                else
                {
                    //Luu vào dt1 trước xong rồi lưu vào dt2 
                    dt1.Rows.Add(lblMaBan.Text, txtBan.Text, txtMucGiaChenhLech.Text, txtGhiChu.Text, date_Ngay.Value, txtGiamGia.Text, txtTongTien.Text);
                    list1.Add(dt1);
                    //Luu dt2 vào 
                    for (int i = 0; i < dgv_DSMA.Rows.Count; i++)
                    {
                        dt2.Rows.Add(lblMaBan.Text, dgv_DSMA.Rows[i].Cells["colTenMon"].Value.ToString(), dgv_DSMA.Rows[i].Cells["colSL"].Value.ToString(), dgv_DSMA.Rows[i].Cells["colGiaBan"].Value.ToString(), dgv_DSMA.Rows[i].Cells["colThanhTien"].Value.ToString(), dgv_DSMA.Rows[i].Cells["colMaMon"].Value.ToString(), dgv_DSMA.Rows[i].Cells["colDonVi"].Value.ToString());
                    }
                    list2.Add(dt2);
                    //Đổi màu bàn
                    for (int j = 0; j < listV_Ban.Items.Count; j++)
                    {
                        if (listV_Ban.Items[j].Selected)
                        {                           
                            //Tìm cái mả bàn này trong cai list ban để set về trạng thái là đang có khách 
                            for (int k = 0; k < listban.Count; k++)
                            {
                                if (listban[k].MaBan == Int16.Parse(listV_Ban.Items[j].Name.ToString()))
                                {
                                    //đổi màu đổi trang thái luôn
                                    listV_Ban.Items[j].ImageIndex = 4;
                                    listban[k].TrangThai = 1;
                                }
                            }                           
                        }
                    }
                    //Hien nút bắt đầu
                    this.bttBatDau.Enabled = true;
                }
            }
            catch
            {

            }

        }

        private void listV_Ban_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Nếu nó đang là trạng thái đã mở thì show dữ liệu cũ ra ứng với cái mả bàn chọn
            for (int i = 0; i < listV_Ban.Items.Count; i++)
            {
                if (listV_Ban.Items[i].Selected)
                {
                    //Tìm cái mả bàn này nằm trong cái list bàn
                    int maban = Int16.Parse(listV_Ban.Items[i].Name.ToString());
                    for (int j = 0; j < listban.Count; j++)
                    {
                        if (listban[j].MaBan == maban)
                        {
                            if (listban[j].TrangThai == 1)
                            {
                                //Thì show du lieu ra form
                                //Duyet hai cai list1
                                for (int i12 = 0; i12 < list1.Count; i12++)
                                {
                                    for (int i121 = 0; i121 < list1[i12].Rows.Count; i121++)
                                    {
                                        if (Int16.Parse(list1[i12].Rows[i121]["MaBan"].ToString()) == maban)
                                        {
                                            lblMaBan.Text = list1[i12].Rows[i121]["MaBan"].ToString();
                                            txtBan.Text = list1[i12].Rows[i121]["TenBan"].ToString();
                                            date_Ngay.Value = Convert.ToDateTime(list1[i12].Rows[i121]["GioVao"].ToString());
                                            cbbLoaiPhieu.DataSource = bus.LayDSLoaiPhieu();
                                            cbbLoaiPhieu.DisplayMember = "TenLoaiPhieuDat";
                                            cbbLoaiPhieu.ValueMember = "MaLoaiPhieuDat";
                                            txtGiamGia.Text = list1[i12].Rows[i121]["GiamGia"].ToString();
                                            txtMucGiaChenhLech.Text = list1[i12].Rows[i121]["MucGiaChenhLech"].ToString();
                                            txtTongTien.Text = list1[i12].Rows[i121]["TongTien"].ToString();

                                        }
                                    }
                                }
                                //Duyet cai list2 dua vao luoi
                                //Xoa cai luoi cu
                                dgv_DSMA.Rows.Clear();
                                for (int i13 = 0; i13 < list2.Count; i13++)
                                {
                                    for (int i131 = 0; i131 < list2[i13].Rows.Count; i131++)
                                    {
                                        if (Int16.Parse(list2[i13].Rows[i131]["MaBan"].ToString()) == maban)
                                        {
                                            lblMaBan.Text = list2[i13].Rows[i131]["MaBan"].ToString();
                                            dgv_DSMA.Rows.Add(list2[i13].Rows[i131]["TenMon"].ToString(), list2[i13].Rows[i131]["SL"].ToString(), list2[i13].Rows[i131]["GiaBan"].ToString(), list2[i13].Rows[i131]["ThanhTien"].ToString(), list2[i13].Rows[i131]["MaMon"].ToString(), list2[i13].Rows[i131]["DonVi"].ToString());


                                        }
                                    }
                                }



                            }
                            else
                            {
                                //Khong làm gì hết để trống 

                            }
                        }
                    }

                }
            }

        }
        private int timidlist1(int maban)
        {
            int kq = 0;
            for (int i12 = 0; i12 < list1.Count; i12++)
            {
                for (int i121 = 0; i121 < list1[i12].Rows.Count; i121++)
                {
                    if (Int16.Parse(list1[i12].Rows[i121]["MaBan"].ToString()) == maban)
                    {
                        kq = i12;

                    }
                }
            }
            return kq;

        }
        private int timidlist2(int maban)
        {
            int kq = 0;
            for (int i12 = 0; i12 < list2.Count; i12++)
            {
                for (int i121 = 0; i121 < list2[i12].Rows.Count; i121++)
                {
                    if (Int16.Parse(list2[i12].Rows[i121]["MaBan"].ToString()) == maban)
                    {
                        kq = i12;

                    }
                }
            }
            return kq;

        }
        private int timidlistban(int maban)
        {
            int kq = 0;
            for (int i = 0; i < listban.Count; i++)
            {
                
                    if (listban[i].MaBan==maban)
                    {
                        kq = i;

                    }
               
            }
            return kq;

        }
        private bool KiemTraBan(int maban)
        {

            bool kq = false;
            for (int i = 0; i < listban.Count; i++)
            {
                if (listban[i].MaBan == maban&& listban[i].TrangThai==1)//Đã mỡ
                {
                    kq = true;
 
                }
 
            }
            return kq;
        }
        private void bttThanhToan_Click(object sender, EventArgs e)
        {
            //Luu vao bảng hóa đơn
            //Kiem tra bàn đả mở mới tính tiền 
            bool kq = false;
            HOADON hd = new HOADON();
            HOADON tam = new HOADON();
            hd.KhuyenMai = null;
            hd.PhuongThucThanhToan = null;
            hd.ThanhTien =Int32.Parse( txtTongTien.Text.ToString());
            hd.ThoiGian = date_Ngay.Value;
            hd.TiGia = null;
            hd.VAT = null;
            hd.TrangThaiHoaDon = 0;
            int mahd,mabanct;
            
            mabanct =Int16.Parse( lblMaBan.Text.ToString());

            for (int i = 0; i < listV_Ban.Items.Count; i++)
            {
                if (listV_Ban.Items[i].Selected)
                {
                    //Đang ở trạng thái mở 
                    int maban =Int16.Parse( listV_Ban.Items[i].Name.ToString());
                    //Kiem tra ban nay dang mo mới cho thanh toán 
                    if (KiemTraBan(maban))
                    {
                        //Luu vào bản hóa đơn
                        if (bus.ThemHoaDon(hd))
                        {
                            tam = bus.LayMaHoaDon();
                            mahd = tam.MaHoaDon;
                            //Thêm chi tiết hóa đơn
                            for (int j = 0; j < dgv_DSMA.Rows.Count; j++)
                            {
                                CTHOADON cthd = new CTHOADON();
                                cthd.MaHoaDon = mahd;
                                cthd.MaBan = mabanct;
                                cthd.MaMonAn =Int16.Parse( dgv_DSMA.Rows[j].Cells["colMaMon"].Value.ToString());
                                cthd.TenMonAn = dgv_DSMA.Rows[j].Cells["colTenMon"].Value.ToString();
                                cthd.SoLuong =Int16.Parse( dgv_DSMA.Rows[j].Cells["colSL"].Value.ToString());
                                cthd.DonVi = dgv_DSMA.Rows[j].Cells["colDonVi"].Value.ToString();
                                cthd.GiaTien =Int32.Parse( dgv_DSMA.Rows[j].Cells["colThanhTien"].Value.ToString());
                                if (bus.ThemChiTietHoaDon(cthd))
                                {
                                    kq = true;
                                }
                            }
                            if (kq == true)
                            {
                                MessageBox.Show("Thanh toán thành công ");
                            }
                            else
                            {
                                MessageBox.Show("Không thể thanh toán được");
                            }

                        }
                        //Luu vào bản chitiet hóa đơn


                        //Tien hanh xoa 
                        bttBatDau.Enabled = true;
                        txtBan.Text = null;
                        date_Ngay.Value = DateTime.MinValue;
                        txtGiamGia.Text = null;
                        cbbLoaiPhieu.DataSource = null;
                        txtMucGiaChenhLech.Text = null;
                        txtTongTien.Text =null;
                        dgv_DSMA.Rows.Clear();
                        //Xoa các gia trị trong list1
                        int id1 = timidlist1(maban);
                        list1.RemoveAt(id1);
                        //Xoa gia trị trong list2
                        int id2 = timidlist2(maban);
                        list2.RemoveAt(id2);
                        //Tiến hành đổi trạng thái trong list

                        int idlb = timidlistban(maban);
                        listban[idlb].TrangThai = 0;
                        //Tiến hành đổi hình listView
                        listV_Ban.Items[i].ImageIndex = 1;


                    }
                    else
                    {
                        MessageBox.Show("Bàn chưa lưu không thể thanh toán được");
                    }

                }
            }
        }

        private void txtKhachDua_TextChanged(object sender, EventArgs e)
        {
            try
            {
                if (txtTongTien != null)
                {
                    int t = Int32.Parse(txtKhachDua.Text.ToString()) - Int32.Parse(txtTongTien.Text.ToString());
                    txtTraLaiKhach.Text = t.ToString();
                }
            }
            catch
            {
 
            }
            
        }
        
        private void dgv_DSMA_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 6)//Xóa
            {
                dgv_DSMA.Rows.RemoveAt(e.RowIndex);
 
            }
        }

        private void bttThemLoaiMA_Click(object sender, EventArgs e)
        {
            LOAIMONAN dto = new LOAIMONAN();
            dto.TenLoaiMonAn = txtLoaiMonAn.Text;
            if (bus.ThemLoaiMonan(dto))
            {
                MessageBox.Show("Thêm thành công");//
                //Load lai danh sách món ăn
                LOAIMONAN[] arrlma;
                int stt = 0;
                arrlma = bus.LayDSLoaiMonAn();
                dgvLoaiMonAn.Rows.Clear();
                for (int i = 0; i < arrlma.Length; i++)
                {
                    stt++;
                    dgvLoaiMonAn.Rows.Add(stt.ToString(), arrlma[i].TenLoaiMonAn, arrlma[i].MaLoaiMonAn);

                    
                }

            }
            else
            {
                MessageBox.Show("Thêm thất bại");
            }
        }

        private void dgvLoaiMonAn_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex == 3)//Xoa
                {
                    //Tiến hành xóa
                    //Lấy cái mả loại món ăn
                    LOAIMONAN dto = new LOAIMONAN();
                    dto.MaLoaiMonAn = Int16.Parse(dgvLoaiMonAn.Rows[e.RowIndex].Cells["cotMaLoai"].Value.ToString());
                    if (bus.XoaLoaiMonAn(dto))
                    {
                        MessageBox.Show("Xóa thành công");
                        //Load lai danh sách loai món ăn
                        LOAIMONAN[] arrlma;
                        int stt = 0;
                        arrlma = bus.LayDSLoaiMonAn();
                        dgvLoaiMonAn.Rows.Clear();
                        for (int i = 0; i < arrlma.Length; i++)
                        {
                            stt++;
                            dgvLoaiMonAn.Rows.Add(stt.ToString(), arrlma[i].TenLoaiMonAn, arrlma[i].MaLoaiMonAn);


                        }
                    }
                    else
                    {
                        MessageBox.Show("Xóa thất bại");
                    }

                }
            }
            catch
            {
 
            }
        }

        private void bttThemMonAn_Click(object sender, EventArgs e)
        {
            MONAN dto = new MONAN();
            dto.TenMonAn = txtTenMon.Text;
            int maloaima = Int16.Parse(cbbLoaiMonAn.SelectedValue.ToString());           
            dto.GiaTien =Int16.Parse( txtGiaTien.Text.ToString());
            dto.DonVi = txtDonVi.Text;
            //Xử lý sự kiện thêm
            if (bus.ThemMonAn(dto, maloaima))
            {
                MessageBox.Show("Thêm thành công");
                //Load lai cái lưới danh sách các món ăn
                MONAN[] arrayma;
                LOAIMONAN dtolma;
                arrayma = bus.LayDSMonAn();
                //Load danh sách các món ăn     
          
                dgvMonAn.Rows.Clear();
                for (int ma = 0; ma < arrayma.Length; ma++)
                {
                    dtolma = bus.LayLoaiMonAnTheoMaMonAn(Int16.Parse(arrayma[ma].MaMonAn.ToString()));
                    dgvMonAn.Rows.Add(arrayma[ma].TenMonAn, dtolma.TenLoaiMonAn, arrayma[ma].DonVi, arrayma[ma].GiaTien);

                }
                //Xóa dử liệu dư thừa ở các textbox
                txtTenMon.Text = null;
                txtGiaTien.Text = null;
                txtDonVi.Text = null;
            }
            else
            {
                MessageBox.Show("Thêm thất bại");
            }

        }

        private void dgvMonAn_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex == 5)//Nut Xóa
                {
                    //Tiến hành xóa
                    int mama = Int16.Parse(dgvMonAn.Rows[e.RowIndex].Cells["clMaMon"].Value.ToString());
                    //Xóa trong cơ sở dữ liệu
                    if (bus.XoaMonAn(mama))
                    {
                        dgvMonAn.Rows.RemoveAt(e.RowIndex);
                    }
                    else
                    {
                        MessageBox.Show("Có lỗi xảy ra");
                    }

                }
            }
            catch
            {
                MessageBox.Show("Lỗi cơ sở dữ liệu");
            }
        }

        private void bttTraCuu_Click(object sender, EventArgs e)
        {
            int mama;
            mama=Int16.Parse( cbbMonAn.SelectedValue.ToString());
            MONAN arrayma;
            LOAIMONAN dtolma;
            arrayma = bus.LayDSMonAnTheoMa(mama);
            //Load danh sách các món ăn     

            dgvMonAnTraCuu.Rows.Clear();            
            dtolma = bus.LayLoaiMonAnTheoMaMonAn(Int16.Parse(arrayma.MaMonAn.ToString()));
            dgvMonAnTraCuu.Rows.Add(arrayma.TenMonAn, dtolma.TenLoaiMonAn, arrayma.DonVi, arrayma.GiaTien);

           
        }

        private void dgvKhuVuc_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex == 5)//Nut sửa
                {
                    string tenkv = dgvKhuVucQL.Rows[e.RowIndex].Cells["clTenKhuVuc"].Value.ToString();
                    string hinhthuckd = dgvKhuVucQL.Rows[e.RowIndex].Cells["clHinhThucKD"].Value.ToString();
                    string mucgia = dgvKhuVucQL.Rows[e.RowIndex].Cells["clMucGia"].Value.ToString();
                    int makhuvuc =Int16.Parse( dgvKhuVucQL.Rows[e.RowIndex].Cells["clMaKhuVuc"].Value.ToString());
                    FormSuaKhuVuc fr = new FormSuaKhuVuc(tenkv, hinhthuckd, mucgia,makhuvuc);
                    fr.ShowDialog();
                    if (fr.trangthai == 1)
                    {
                        Load_KhuVuc();
                    }
                    else
                    {

                    }
                }
                if (e.ColumnIndex == 6)//Nut xoa
                {


                    if (MessageBox.Show("Bạn có chắc xóa không?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        // user clicked yes
                        //Lấy cái mã của khu vực
                        int makv = Int16.Parse(dgvKhuVucQL.Rows[e.RowIndex].Cells["clMaKhuVuc"].Value.ToString());
                        if (bus.XoaKhuVuc(makv))
                        {
                            Load_KhuVuc();
                        }
                        else
                        {

                        }

                    }
                    else
                    {
                        // user clicked no
                    }
                }
            }
            catch
            {
 
            }

        }

        private void bttThemKhuVuc_Click(object sender, EventArgs e)
        {
            int maht = Int16.Parse(cbbHinhThucKinhDanh.SelectedValue.ToString());
            KHUVUC dto = new KHUVUC();
            dto.TenKhuVuc = txtTenKhuVuc.Text;
            dto.MucGiaChenhLech =Int32.Parse( txtMucGiaChenhLenhKV.Text.ToString());
            if (bus.ThemKhuVuc(dto, maht))
            {
                MessageBox.Show("Thêm thành công");
              //  this.Close();

                KHUVUC[] arraykv;
                HINHTHUCKD dtohtkd;
                arraykv = bus.LayDSKhuVuc();
                dgvKhuVucQL.Rows.Clear();
                int sttkv = 0;
                int makv;
                for (int ikv = 0; ikv < arraykv.Length; ikv++)
                {
                    makv = arraykv[ikv].MaKhuVuc;
                    dtohtkd = bus.LayHinhThucKinhDanhTheoKV(makv);
                    sttkv++;
                    dgvKhuVucQL.Rows.Add(sttkv.ToString(), arraykv[ikv].MaKhuVuc, arraykv[ikv].TenKhuVuc, dtohtkd.TenHinhThucKD, arraykv[ikv].MucGiaChenhLech);
                  
                }
               
            }
            else
            {
                MessageBox.Show("Thêm thất bại");
            }
        }

        private void bttThemBan_Click(object sender, EventArgs e)
        {
            int makhuvuc =Int16.Parse( cbbKhuVuc.SelectedValue.ToString());
            BAN dto = new BAN();
            dto.TenBan = txtTenBan.Text;
            dto.TrangThai =Int16.Parse( txtTrangThai.Text.ToString());
            if (bus.ThemBan(dto, makhuvuc))
            {
                MessageBox.Show("Thêm thành công");
                txtTenBan.Text = null;
                //Load danh sách bàn
                BAN[] arrayb2;
                int sttb = 0;
                arrayb2 = bus.LayDSBan();
                dgvBan.Rows.Clear();
                for (int ib = 0; ib < arrayb2.Length; ib++)
                {
                    KHUVUC dtokv;
                    dtokv = bus.LayKhuVucTheoMaBan(arrayb2[ib].MaBan);
                    sttb++;
                    dgvBan.Rows.Add(sttb.ToString(), arrayb2[ib].TenBan, arrayb2[ib].TrangThai, dtokv.TenKhuVuc,arrayb2[ib].MaBan);

                }

            }
            else
            {
 
            }

        }

        private void dgvBan_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 5)//Cot sua
            {
                string tenban = dgvBan.Rows[e.RowIndex].Cells["cotTenBan"].Value.ToString();
                string khuvuc = dgvBan.Rows[e.RowIndex].Cells["cotKhuVuc"].Value.ToString();
                string trangthai = dgvBan.Rows[e.RowIndex].Cells["cotTrangThai"].Value.ToString();
                int maban =Int16.Parse( dgvBan.Rows[e.RowIndex].Cells["cotMaBan"].Value.ToString());
                FormSuaBan frb = new FormSuaBan(tenban, khuvuc, trangthai,maban);
                frb.ShowDialog();
                if (frb.trangthai == 1)
                {
                    //Load ban
                    BAN[] arrayb2;
                    int sttb = 0;
                    arrayb2 = bus.LayDSBan();
                    dgvBan.Rows.Clear();
                    for (int ib = 0; ib < arrayb2.Length; ib++)
                    {
                        KHUVUC dtokv;
                        dtokv = bus.LayKhuVucTheoMaBan(arrayb2[ib].MaBan);
                        sttb++;
                        dgvBan.Rows.Add(sttb.ToString(), arrayb2[ib].TenBan, arrayb2[ib].TrangThai, dtokv.TenKhuVuc, arrayb2[ib].MaBan);

                    }   

                }
 
            }
            if (e.ColumnIndex == 6)//Cot xóa
            {

                if (MessageBox.Show("Bạn có chắc xóa không?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    // user clicked yes
                    //Lấy cái mã của khu vực
                    int maban = Int16.Parse(dgvBan.Rows[e.RowIndex].Cells["cotMaBan"].Value.ToString());
                    if (bus.XoaBan(maban))
                    {
                        //Load_Ban;
                        BAN[] arrayb2;
                        int sttb = 0;
                        arrayb2 = bus.LayDSBan();
                        dgvBan.Rows.Clear();
                        for (int ib = 0; ib < arrayb2.Length; ib++)
                        {
                            KHUVUC dtokv;
                            dtokv = bus.LayKhuVucTheoMaBan(arrayb2[ib].MaBan);
                            sttb++;
                            dgvBan.Rows.Add(sttb.ToString(), arrayb2[ib].TenBan, arrayb2[ib].TrangThai, dtokv.TenKhuVuc, arrayb2[ib].MaBan);

                        }   

                    }
                    else
                    {

                    }

                }
                else
                {
                    // user clicked no
                }
 
            }

        }

        private void dateTimeDen_TextChanged(object sender, EventArgs e)
        {
             TinhDoanhThuTheoNgay(dateTimeTu.Value,dateTimeDen.Value);
        }

        private void bttAll_Click(object sender, EventArgs e)
        {
            TinhDoanhThu();
        }

        private void dateTimeDenKV_TextChanged(object sender, EventArgs e)
        {
            TinhDoanhThuTheoKhuVucNgay(dateTimeTuKV.Value, dateTimeDenKV.Value);
        }

        private void bttAllKhuVuc_Click(object sender, EventArgs e)
        {
            TinhDoanhThuTheoKhuVuc();
        }

        private void dateTimeDenBan_TextChanged(object sender, EventArgs e)
        {
            TinhDoanhThuTheoBanNgay(dateTimeTuBan.Value, dateTimeDenBan.Value);
        }

        private void bttAllBan_Click(object sender, EventArgs e)
        {
            TinhDoanhThuTheoBan();
        }

        private void bttAllTong_Click(object sender, EventArgs e)
        {

        }

        private void dateTimeDenT_TabIndexChanged(object sender, EventArgs e)
        {
            TinhDoanhThuTheoHoaDonNgay(dateTimeTuT.Value, dateTimeDenT.Value);
        }

        
    }
       
}
